using System;
using System.ComponentModel;
using System.Drawing;

namespace RebelStar.Engine.Graphics
{
    public interface IGameGraphicsDevice
    {
        IServiceProvider ServiceProvider { get; }
        GraphicDeviceMode Mode { get; }
        Size ClientSize { get; }

        void Clear(Color color);
        void Redraw();
        void Present();

        event EventHandler ClientSizeChanged;
        event EventHandler Paint;
        ISurface CreateSurface();
        ISurface CreateBuffer();
    }
}